// 引入工具类
const { formatTime } = require('../../utils/dateUtils')

Page({
  data: {
    // 网络状态
    isIntranet: false,

    // 教务功能
    educationFunctions: [
      { id: 1, name: '成绩查询', icon: 'chart-trending-o', color: '#1989fa', url: 'http://jwgl.example.edu.cn/score' },
      { id: 2, name: '课程表', icon: 'calendar-o', color: '#07c160', url: 'http://jwgl.example.edu.cn/schedule' },
      { id: 3, name: '选课系统', icon: 'bookmark-o', color: '#ff976a', url: 'http://jwgl.example.edu.cn/course' },
      { id: 4, name: '考试安排', icon: 'clock-o', color: '#ed6a0c', url: 'http://jwgl.example.edu.cn/exam' },
      { id: 5, name: '学籍信息', icon: 'contact', color: '#ee0a24', url: 'http://jwgl.example.edu.cn/student' },
      { id: 6, name: '教学评价', icon: 'star-o', color: '#7232dd', url: 'http://jwgl.example.edu.cn/evaluate' }
    ],
    // 快速链接
    quickLinks: [
      { id: 1, name: '教务系统', description: '学生信息管理系统', icon: 'manager-o', url: 'http://jwgl.example.edu.cn' },
      { id: 2, name: '图书馆', description: '图书检索与借阅', icon: 'bookmark-o', url: 'http://lib.example.edu.cn' },
      { id: 3, name: '一卡通', description: '校园卡服务中心', icon: 'credit-pay', url: 'http://card.example.edu.cn' },
      { id: 4, name: '网络中心', description: '校园网络服务', icon: 'wifi', url: 'http://net.example.edu.cn' },
      { id: 5, name: '邮箱系统', description: '学校邮箱登录', icon: 'envelop-o', url: 'http://mail.example.edu.cn' }
    ],

    // 通知公告
    notices: [
      {
        id: 1,
        title: '关于2024年春季学期选课的通知',
        time: '2024-01-15T10:00:00Z',
        formattedTime: '',
        isNew: true
      },
      {
        id: 2,
        title: '期末考试安排及注意事项',
        time: '2024-01-10T14:30:00Z',
        formattedTime: '',
        isNew: false
      }
    ]
  },

  onLoad() {
    console.log('教务中心页面加载')
    this.checkNetworkStatus()
    this.formatNoticeTime()
  },

  onShow() {
    console.log('教务中心页面显示')
    this.checkNetworkStatus()
  },

  // 检查网络状态（模拟校园网检测）
  checkNetworkStatus() {
    // 在实际应用中，这里应该检测是否在校园网环境
    // 这里简化为随机模拟
    const isIntranet = Math.random() > 0.5
    this.setData({ isIntranet })
  },

  // 格式化通知时间
  formatNoticeTime() {
    const notices = this.data.notices.map(notice => ({
      ...notice,
      formattedTime: formatTime(notice.time)
    }))
    this.setData({ notices })
  },

  // 处理功能点击
  handleFunctionClick(event) {
    const item = event.currentTarget.dataset.item
    console.log('点击教务功能:', item)

    if (!this.data.isIntranet) {
      wx.showModal({
        title: '网络提示',
        content: '检测到您不在校园网环境，可能无法正常访问教务系统。是否继续？',
        success: (res) => {
          if (res.confirm) {
            this.openExternalLink(item.url)
          }
        }
      })
    } else {
      this.openExternalLink(item.url)
    }
  },

  // 处理链接点击
  handleLinkClick(event) {
    const item = event.currentTarget.dataset.item
    console.log('点击快速链接:', item)
    this.openExternalLink(item.url)
  },

  // 打开外部链接
  openExternalLink(url) {
    // 小程序中无法直接打开外部链接，这里显示提示
    wx.showModal({
      title: '跳转提示',
      content: `即将跳转到：${url}\n\n请在浏览器中打开此链接`,
      confirmText: '复制链接',
      success: (res) => {
        if (res.confirm) {
          wx.setClipboardData({
            data: url,
            success: () => {
              wx.showToast({
                title: '链接已复制',
                icon: 'success'
              })
            }
          })
        }
      }
    })
  },

  // 跳转到通知详情
  goToNoticeDetail(event) {
    const noticeId = event.currentTarget.dataset.noticeId
    wx.navigateTo({
      url: `/pages/notifications/detail?id=${noticeId}`
    })
  },

  // 显示帮助信息
  showHelp() {
    wx.showModal({
      title: '使用说明',
      content: '1. 请确保在校园网环境下使用\n2. 首次使用需要登录教务系统\n3. 如遇问题请联系网络中心\n\n联系电话：0000-0000000',
      showCancel: false
    })
  }
});
